VADScross C

Proven C for Embedded Systems


Rational's VADScross C(TM) is a family of mature, production-quality, optimizing ANSI C cross-compilers and related tools to help you debug, understand, tune, and deliver your code. VADScross is available for most popular embedded-system targets. All VADScross compilers are built from a common code base, so they offer a common user interface and common functionality. VADScross is a fundamental component of Rational's modern software-engineering solution, which comprises a set of software processes, products, and services that give you control of your software-development efforts and sharpen your competitive edge.

Provides a solution for every C application

There is an easy-to-use VADScross solution for every embedded project requiring the use of C: ANSI C, standard C, and traditional C. VADScross provides support for host-to-target development of real-time embedded systems. VADScross includes all of the tools needed for fast, efficient cross development.

Brings you higher development productivity

Each VADScross product includes--in addition to the cross-compiler--a code optimizer, a Motif-based symbolic debugger, a disassembler, a set of ANSI C standard libraries, a multitasking microkernel, and extensive online help. VADScross C also includes a compilation library manager that helps you organize the components of a large program by establishing multiple libraries based on your specific project needs.




No matter what target you use, the power of VADS helps you
complete your application in less time and with lower risk.


Optimizes your code for high performance

VADS offers dozens of user-controllable code optimizations. These include: VADS code generators for RISC architectures perform instruction scheduling and generate hardware floating-point instructions when appropriate. VADS produces code that is fast, compact, and efficient. It minimizes the size of your application and maximizes its performance. The VADScross linker features selective linking, which creates the smallest possible executable by including only the subprograms and data your application requires.

Reduces turnaround time dramatically

Even though the VADS compilers are very fast, linking large programs could be a bottleneck that impedes fast edit-compile-debug turnaround time. To solve this problem, for example, we designed the VADScross linker to be fast, so you can quickly edit, compile, link, and then test your code. VADS minimizes object file symbolics to reduce the amount of work the linker must do.

Provides high-performance runtime options

The VADS microkernel provides full support for real-time applications and extended capabilities to give you more control over real-time performance. Mailboxes, semaphores, interrupt service routines, and multiple programs are supported. The VADS microkernel offers flexible memory management, I/O support, timer support, and support for intraprogram POSIX threads. The small, fast, and efficient VADS microkernel can be easily configured and tailored to customized target systems. VADS gives you control where you need it.

Offers a powerful, nonintrusive debugger

VADScross includes a Motif-based windowing symbolic debugger. Because the VADS debugger gets its symbolic information from the compilation library instead of from your executables, you can debug without recompiling.

The VADS debugger fully supports source- and machine-level debugging. You can:

The VADS debugger allows interactive subprogram calls, so you can write and use sophisticated debugging instrumentation subprograms. It provides extensive command logging and scripting capabilities to automate your debugging activities and make them reproducible. You can invoke the editor from the debugger to make changes immediately to your source code. The debugger understands all of the VADS runtime options, giving you a single, consistent debugger model even if you use the additional real-time mechanisms provided by VADS. Using the browsing capabilities of the VADS debugger, you can quickly understand the behavior of your program.

Debugs optimized code

With VADS, you debug the fully optimized code that will run in your fielded application. You never need to recompile your code with optimizations turned off to use the debugger. You save time and have increased confidence in your application because you can debug the executable you will deploy.

Debugs your embedded systems in real time

The VADS cross-compilers include the VADS debugger in cross-development mode, making it easy to test and debug embedded systems. You download and debug directly from the host, choosing the host-to-target communications link that best meets your project's needs: RS232, Ethernet, or emulator. Because the target debug monitor is a stand-alone, system-level debugging agent, you can debug at the lowest levels--interrupt service routines or kernel configuration code--not just at the application level. The VADS symbolic debugger can also serve as the interface for your in-circuit emulator. Trace buffers record signals from every buffer cycle out of the CPU, so that you can review the buffer and analyze the course of debugging. For architectures that include Rational's instruction-level simulators, you can use the VADS debugger to analyze and debug your application as it runs on the simulator, just as you would use the debugger on a program running on the embedded hardware.




The combination of VADScross and VADSsim allows testing on
your host and full support for developing for the target.


Enhances mixed-language programming

VADScross C works closely with the VADS Ada compiler family, making mixed-language application development simpler and more reliable.

For embedded systems, VADScross C and VADS Ada share optimization, code generation, linking, debugging, calling conventions, memory allocation, embedded cross-I/O, and runtime facilities. This sharing ensures that your mixed-language applications will be easy to develop, debug, and test.

The VADScross debugger provides full, symbolic, source-level debugging for mixed-language programs consisting of C, Ada, and assembly. You can get an interleaved source and assembly listing from the VADS debugger without recompiling your code.

Frees you from dependence on your current hardware

The entire VADS family is built from a shared base of source code. The "look and feel," compiler details, debugger operations, interface to the runtime executive, and most other product features are identical for VADS on all platforms.

The hardware independence of VADS enables you to work on the hardware of your choice, to share software among dissimilar hardware systems, and to develop software programs on multiple hosts. Source code is extremely portable from one member of the VADS family to another. You can change host or target hardware as your requirements change, without changing your application code or retraining your development team.

Brings you field-proven reliability

The technology in the VADS C compiler family has been in use for years, both in-house at Rational and on some of the world's most demanding software projects. VADS has been proven on projects ranging from thousands to millions of lines of code. Our regression test suite includes millions of lines of customer code from some of the most demanding applications.

From the shipment of the first VADS product over a decade ago, we have focused on maximizing customer productivity and providing the precision and robustness that programmers expect from their tools. VADS C reflects our experience in supporting some of the largest and most sophisticated applications worldwide. We have designed, refined, and expanded VADS to implement features demanded by real-world programmers. VADS meets the most stringent program needs, because we have paid attention to the performance demands of our customers.

Works with other tools to provide a complete solution

The VADS family also includes optional tools to give you an even more complete development solution.

VADSanalysis(TM) gives you nonintrusive coverage analysis, performance profiling, and program tracing and debugging to help you rapidly understand and tune your application's behavior.

VADSsim(TM) provides efficient, instruction-level simulation of major target architectures, allowing you to develop and test your program on the host system even before your embedded hardware is available.

Available configurations

VADScross C is available today for popular embedded processors from popular host platforms. New members of the VADS C family are added on demand thanks to our highly automated software integration and build process. Please contact your Rational representative for an up-to-date list of supported platforms.


D-123A; last updated 10/2/95